5 * @subpackage SpecialPage
11 function wfSpecialUnlockdb() {
12 global $wgUser, $wgOut, $wgRequest;
13 if( $wgUser->isAllowed( 'siteadmin' ) ) {
14 $form = new DBUnlockForm();
15 if( $action == 'success' ) {
17 } else if( $action == 'submit' && wgRequest
->wasPosted() && $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
22 $wgOut->permissionRequired( 'siteadmin' );
30 * @subpackage SpecialPage
34 function showForm( $error = false ) {
35 global $wgOut, $wgUser;
36 $wgOut->setPagetitle( wfMsg( 'unlockdb' ) );
37 $wgOut->addWikiText( wfMsg( 'unlockdbtext' ) );
40 $wgOut->setSubtitle( wfMsg( 'formerror' ) );
41 $wgOut->addHTML( '<p class="error">' . htmlspecialchars( $error ) . "</p>\n" );
44 $lc = htmlspecialchars( wfMsg( "unlockconfirm" ) );
45 $lb = htmlspecialchars( wfMsg( "unlockbtn" ) );
46 $titleObj = Title
::makeTitle( NS_SPECIAL
, "Unlockdb" );
47 $action = $titleObj->escapeLocalURL( "action=submit" );
48 $token = htmlspecialchars( $wgUser->editToken() );
50 $wgOut->addHTML( <<<END
52 <form id="unlockdb" method="post" action="{$action}">
56 <input type="checkbox" name="wpLockConfirm" />
58 <td align="left">{$lc}</td>
63 <input type="submit" name="wpLock" value="{$lb}" />
67 <input type="hidden" name="wpEditToken" value="{$token}" />
75 global $wgOut, $wgUser, $wgRequest, $wgReadOnlyFile;
77 $wpLockConfirm = $wgRequest->getCheck( 'wpLockConfirm' );
78 if ( ! $wpLockConfirm ) {
79 $this->showForm( wfMsg( "locknoconfirm" ) );
82 if ( @! unlink( $wgReadOnlyFile ) ) {
83 $wgOut->fileDeleteError( $wgReadOnlyFile );
86 $titleObj = Title
::makeTitle( NS_SPECIAL
, "Unlockdb" );
87 $success = $titleObj->getFullURL( "action=success" );
88 $wgOut->redirect( $success );
91 function showSuccess() {
92 global $wgOut, $wgUser;
95 $wgOut->setPagetitle( wfMsg( "unlockdb" ) );
96 $wgOut->setSubtitle( wfMsg( "unlockdbsuccesssub" ) );
97 $wgOut->addWikiText( wfMsg( "unlockdbsuccesstext", $ip ) );